3

polysh的操作使用

  • 安装polysh工具到预发环境机器
wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz

pip install --user polysh-0.4.tar.gz
  • 配置环境变量

找到用户目录下的.bash_profile文件,进行如下操作

export PATH=$PATH:$(python -c "import site; print site.USER_BASE")/bin
source .bash_profile
  • 如何操作

    • 第一种方式
    polysh 172.31.160.116 172.30.174.182
    
    waiting (2/2)>这里输入自己的堡垒机密码
    • 第二种方式

在自己的家目录下新建文件pwd-file,内容为自己的堡垒机登录密码;新建host-file,内容为需要登录的服务器ip列表,每个服务器地址站一行
编写一个脚本文件login.sh,并赋予执行权限,脚本内容如下:

polysh --password-file=product-ip/pwd-file --hosts-file=product-ip/host-file

免密登录线上机器

  • 修改本地配置文件
cd ~/.ssh/
touch ~/.ssh/config
vim ~/.ssh/config

Host *
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster auto
ControlPersist yes
  • 写面密登录脚本login.sh
#!/usr/bin/expect

# 登录的堡垒机地址
set bridge_host "xxx.xxxx.com"
set username "xxx"
set password "xxx"
set timeout 30

# 发起登录请求
spawn ssh "${username}@${bridge_host}"
expect {
# 如果未登录,则输入密码(仅需要输入6位动态密码),之后跳转到目标主机
"Password:" {
    send "${password}\n"
    expect {
    "verification code:" {
     send_user "\nEnter verification code:"
  expect_user -re "(.*)\n"
  set veri_code $expect_out(1,string)
  send "${veri_code}\n"
    }
    }
 }
#匹配你的登录域名比如shifeifei@aaa.com
 "*@xxx*" {
   }
}
interact
  • 脚本赋予执行权限
chmod -R 777 login.sh
expect login.sh
  • 声明配置
vim ~/.bash_profile
  
将下面这句话替换成你自己的路径后, 拷贝到 ~/.bash_profile 里后, 保存退出
alias login=/Your Path/login.sh
  
source ~/.bash_profile

一只小小鸟
144 声望25 粉丝

如何做一个深层次的思考者,从简单开始、从记录开始。